package modules.scripts;

import java.util.ArrayList;
import java.util.List;

import com.beust.jcommander.Parameter;

/**
 * Handles all regular application parameters for hcluster Module. Used for parameter parsing for hcluster module.
 * @author Raja Hashim Ali.
 */
public class Parameters {

	/** Required parameters: Application/Module to run */
	@Parameter(description = "<Script name to run>")
	public List<String> script = new ArrayList<String>();
	
	/** Help. */
	@Parameter(names = {"-h", "--help"}, description = "Display help. To understand the options and input parameters, use help.")
	public Boolean help = false;
	
	/** Path for finding the data and outputting results */
	@Parameter(names = {"-p","--path"}, description = "Path for finding the data and outputting results.")
	public String path = "./";
	
	/** Name of output file with extension. */
	@Parameter(names = {"-o","--output"}, description = "Name of output file with extension.")
	public String output = "HomoCompara.out";	
	
	/** Name of file to use as input */
	@Parameter(names = {"-f","--file"}, description = "Name of file to use as input.")
	public String file = "";
	
	/** Synteny fileName */
	@Parameter(names = {"-s","--synteny"}, description = "Synteny file name.")
	public String synteny = "";
	
	/** Test fileName */
	@Parameter(names = {"-t","--testfile"}, description = "Test file name.")
	public String test = "";
	
	/** Software File 1 **/
	@Parameter(names = {"-s1","--software1"}, description = "Software 1 Clustering file in bcl format.")
	public String software1 = "";
	
	/** Software File 2 **/
	@Parameter(names = {"-s2","--software2"}, description = "Software 2 Clustering file in bcl format.")
	public String software2 = "";
	
	/** Pillar File **/
	@Parameter(names = {"-l","--pillar"}, description = "Pillar file for use with Yeast.")
	public String pillar = "";
	
	/** Pillar File **/
	@Parameter(names = {"-sf","--sequence"}, description = "Sequence File in fasta format.")
	public String sequenceFile = "";
}
